Home Rush Rally 3 Rush Rally Origins Blog Portfolio About Terms

Tree Improvements

Following on from the road markings, for RR3 I spent a lot of time optimising the tree rendering so I could render lots of trees in minimal draw calls, again this is needed to keep lower spec devices running fast but creating as much detail as possible. For me having lots of trees close to the track is what rallying is all about and I do struggle to see other handheld based rally games achieving this level of trees at a rapid FPS.

I spent along time thinking "how can I create more variance with the trees, whilst keeping them 3D up close, but also keeping this variance on imposters (billboards) in the distance, without more textures and more draw calls".

I came up with a solution such that for a given tree model I can now render 32 versions of it, all with different colours of leaves, different sizes of leaves, and with some of the leaves removed. This also works hand in hand with the transition to billboard imposters in the distance. This uses instance based rendering with a shader which basically colours the leaves based on which instance it is rendering. This data is then also passed to the billboard (quad) render in the distance to preserve the look in the distance.

The irony is that along with this effect, I optimised it quite a lot and this is actually a faster system than the Rush Rally 3 one now. So it is a win win.